﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DDLParser.constant
{
    static class SqlServerStatus
    {
        public const int UNKNOWN = 0;


        // tag
        public const int TAG_CREATE = 1;
        public const int TAG_ATTRIBUTE = 2;
        public const int TAG_PRIMARY = 3;
        public const int TAG_PROCEDURE = 4;
        public const int TAG_ALTER = 5;
        public const int TAG_COMMENT = 99;


        // require
        // 1. create status
        public const int REQUIRE_CREATE_PARAMETER = 1000;
        public const int REQUIRE_CREATE_NAME = 1001;
        public const int REQUIRE_BEGIN_ATTRIBUTE = 1002;

        // 2. atttribute status
        public const int REQUIRE_ATTRIBUTE_NAME = 1100;
        public const int REQUIRE_ATTRIBUTE_DATATYPE = 1101;
        public const int REQUIRE_ATTRIBUTE_LENGTH_DATATYPE = 1102;
        public const int REQUIRE_ATTRIBUTE_OPTION = 1103;
        public const int REQUIRE_AUTOINCREMENT_OPTION = 1104;
        public const int REQUIRE_PRIMARY = 1105;
        public const int SCRIPT_ATTRIBUTE = 1199;

        //3.procedure status
        public const int REQUIRE_CREATE_PROCEDURE = 1200;

        //4.alter status
        public const int REQUIRE_ALTER_TABLE = 1300;
        public const int REQUIRE_ALTER_TABLE_NAME = 1301;
        public const int REQUIRE_ALTER_OPTION = 1302;
        public const int REQUIRE_FOREIGNKEY = 1303;

        //5.comment status
        public const int COMMENT = 9999;
    }
}
